﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ParserCore;

namespace QLabValues
{
    public class QAnonymousFunction : QLabValues.IQLabValue
    {
        private Identifier[] args;
        private Expression code;
        /*private VarTable varTable;
        public QAnonymousFunction(Expression functionCode, Identifier[] arguments, VarTable variableTable)
        {
            code = functionCode;
            args = arguments;
            varTable=variableTable;
        }*/
        public object Clone()
        {
            throw new NotImplementedException();
        }

        public Expression GetFunctionCode()
        {
            return code;
        }

        public void SetFunctionCode(Expression functionCode)
        {
            code = functionCode;
        }

        public Identifier[] GetArguments()
        {
            return args;
        }

        public void SetArguments(Identifier[] arguments)
        {
            args = arguments;
        }

        /*
        public VarTable GetVariableTable()
        {
            return varTable;
        }
        
        public void SetVariableTable(VarTable variableTable)
        {
            varTable=variableTable;
        }
        */

        public IQLabValueType GetEnumType()
        {
            return IQLabValueType.QAnonymousFunction;
        }
    }
}
